SQL PRIMARY KEY Constraint क्या हैं?
प्राथमिक कुंजी बाधा का उपयोग तालिका में प्रत्येक रिकॉर्ड को विशिष्ट रूप से पहचानने के लिए किया जाता है।
प्राथमिक कुंजियों में अद्वितीय मान होने चाहिए और उनमें NULL मान नहीं हो सकते।
प्रत्येक तालिका में केवल एक प्राथमिक कुंजी हो सकती है। प्राथमिक कुंजी एकल स्तंभ या स्तंभों का संयोजन हो सकती है।
महत्वपूर्ण नोट:
प्राथमिक कुंजी में स्वचालित रूप से अद्वितीय और शून्य बाधाएं नहीं होती हैं। यह प्रत्येक चार्ट के एक महत्वपूर्ण प्रतीक के रूप में कार्य करता है।
तालिका बनाने में SQL प्राथमिक कुंजी
जब "व्यक्ति" तालिका बनाई जाती है तो "आईडी" कॉलम पर प्राथमिक कुंजी बनाने के लिए निम्नलिखित SQL का उपयोग किया जाता है:
MySQL:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
SQL Server / Oracle / MS Access:
CREATE TABLE Persons (
ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
एकाधिक स्तंभों पर प्राथमिक कुंजी बाधा को परिभाषित करना
एकाधिक स्तंभों पर प्राथमिक कुंजी बाधा को परिभाषित करने के लिए, निम्नलिखित SQL सिंटैक्स का उपयोग करें:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);
नोट:
उपरोक्त उदाहरण में एक प्राथमिक कुंजी (PK_Person) है। हालाँकि, प्राथमिक कुंजी का मान दो कॉलम (आईडी + अंतिम नाम) से बना है।
परिवर्तन तालिका में SQL प्राथमिक कुंजी
तालिका पहले ही बन जाने के बाद "आईडी" कॉलम पर प्राथमिक कुंजी बाधा बनाने के लिए निम्नलिखित एसक्यूएल का उपयोग करें:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (ID);
एकाधिक स्तंभों पर प्राथमिक कुंजी बाधा को परिभाषित करना
एकाधिक स्तंभों पर प्राथमिक कुंजी बाधा को परिभाषित करने के लिए, निम्नलिखित SQL सिंटैक्स का उपयोग करें:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);
महत्वपूर्ण नोट:
यदि आप ALTER TABLE का उपयोग करके प्राथमिक कुंजी जोड़ रहे हैं, तो तालिका पहली बार बनाते समय प्राथमिक कुंजी कॉलम को NOT NULL घोषित किया जाना चाहिए।
प्राथमिक कुंजी बाधा को हटाना
प्राथमिक कुंजी बाधा को दूर करने के लिए, निम्न SQL का उपयोग करें:
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY;
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;
प्राथमिक कुंजी के गुण
व्यक्तित्व
- प्रत्येक मान अद्वितीय होना चाहिए
- डुप्लिकेट मानों की अनुमति नहीं है
- डेटा अखंडता बनाए रखता है
NULL की अनुमति नहीं है
- शून्य मानों की अनुमति नहीं है
- प्रत्येक रिकॉर्ड का मूल्य होना चाहिए
- डेटा अखंडता सुनिश्चित करता है
केवल एक प्राथमिक कुंजी
- प्रति टेबल केवल एक प्राथमिक कुंजी
- एकाधिक कॉलम हो सकते हैं
- तालिका का महत्वपूर्ण चिन्ह
शैली के उदाहरण
उपयोगकर्ता तालिका
अद्वितीय उपयोगकर्ता आईडी
CREATE TABLE Users (
UserID int PRIMARY KEY,
UserName varchar(255) NOT NULL,
Email varchar(255) UNIQUE
);
आदेशों की तालिका
अनोखा ऑर्डर नं
CREATE TABLE Orders (
OrderID int PRIMARY KEY,
CustomerID int NOT NULL,
OrderDate date NOT NULL
);
उत्पादों की तालिका
समग्र प्राथमिक कुंजी
CREATE TABLE Products (
CategoryID int NOT NULL,
ProductID int NOT NULL,
ProductName varchar(255),
CONSTRAINT PK_Product PRIMARY KEY (CategoryID, ProductID)
);